約 837,292 件
https://w.atwiki.jp/sinsengumi_2/pages/14.html
使用するJDKのバージョンによって、使えるドライバが違うので注意する。 違うドライバを使うと実行エラーが起きる。 JDKのバージョン 対応ドライバ JDK 1.4, 1.5 JDBC 3 JDK 1.6 JDBC4 詳細は以下で確認。 http //jdbc.postgresql.org/download.html
https://w.atwiki.jp/honeybe/pages/37.html
JDBC Connection Connect DataSource ConnectionPoolDataSource oracle.jdbc.pool.OracleConnectionPoolDataSource cods = new oracle.jdbc.pool.OracleConnectionPoolDataSource(); cods.setDriverType("thin"); cods.setServerName("server"); cods.setPortNumber(1251); cods.setDatabaseName("database"); cods.setUser("user"); cods.setPassword("password"); マニュアルに書かれている通り。 ConnectionCache 9i 10g oracle.jdbc.pool.OracleConnectionPoolDataSource cods = new oracle.jdbc.pool.OracleConnectionPoolDataSource(); cods.setDriverType("thin"); cods.setServerName("server"); cods.setPortNumber(1251); cods.setDatabaseName("database"); cods.setUser("user"); cods.setPassword("password"); cods.setConnectionCachingEnabled(true); 参考: http //otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/java.102/B19275-02/concache.htm
https://w.atwiki.jp/private_javaroad/pages/15.html
DriverManagerとは 表ロック 列ロック コミットする理由 DB同士で競合する理由 Connection,Statement,ResultSetを閉じる順序 ACID属性とは トリガーとは シノニムとは OracleDBのシーケンスの設定方法 コネクションはstaticかインスタンス化するか トランザクションの組み方 group by 複問い合わせ
https://w.atwiki.jp/kzwapipe/pages/24.html
↑開発環境の準備 ←MySQL 5 のインストール MySQL 5.0 用の JDBC ドライバーを準備します JDBC は Java からデータベースを利用するためのプログラムです。今回は MySQL 5.0 を使用するので、それに対応しているJDBCドライバが必要です。 ■ MySQL 5.0 用 JDBC ドライバーをダウンロードします。 MySQL AB のページにアクセスします 画面右側の“Downloads ” のリンクを選択します Drivers and Connectors の MySQL Connector/J -- for connecting to MySQL from Java 下の“MySQL Connector/J 5.0 ”リンクを選択します Source and Binaries (zip) の“Download”リンクを選択します ダウンロードが開始されるので適当なフォルダに保存します。 ■ MySQL 5.0 用 JDBC ドライバーを準備します。 ダウンロードした“mysql-connector-java-5.0.x.zip”を解凍します 解凍された“mysql-connector-java-5.0.x-bin.jar”がドライバーです これを適当なフォルダーに保存します(後ほど使用します) 残りは不要なので削除します 以上でインストール完了です。 うまくいかない!などのクレームがあればコメントにどうぞ
https://w.atwiki.jp/honeybe/pages/46.html
JDBCドライバには実装方法によりType1~Type4まであります。 Type1 JDBC-ODBCブリッジドライバ Type2 ネイティブブリッジドライバ Type3 ネットプロトコルドライバ Type4 ネイティブプロトコルドライバ それぞれの違いに関しての詳細は下記参照のこと。 http //www.atmarkit.co.jp/fjava/javafaq/jdbc/jdbc02.html 通常はType4を選択するようです。JDBC接続部分がパフォーマンス上ボトルネックになる場合はネイティブドライバを使用することもあります。(が、ドライバの構成が面倒とか、サポートしている機能が異なるなどもあります)
https://w.atwiki.jp/g-network/pages/30.html
シェルのスクリプトのサンプルや、目的に応じた逆引き用の資料を作成します。 【開発環境について】 環境は各自unix,linux環境を用意してください。 動作確認はbashで実施すること 【スクリプト規約について】 基本的にシェルは以下のスクリプト規約に応じて作成してください。 スクリプト規約 【スクリプト一覧】 ツール名 シェル名 内容 共通関数 common.sh 共通変数や共通関数を定義する ログバックアップツール log_backup.sh ログファイルのバックアップをとる ファイル転送ツール scp_put.sh 任意のファイルをサーバの指定したディレクトリにputする sshの鍵認証自動設定ツール ssh_keyset.sh ssh接続の際に鍵認証方式を使用する為の、認証鍵の自動設定を行う MACアドレス取得ツール getmacadd.sh 任意のネットワークに接続している機器のMACアドレスを取得する じゃんけんゲーム janken_game.sh じゃんけんゲーム。何回勝負にするか設定可能 ファイル構成のダミー作成 touch_loop.sh 任意のディレクトリからファイルサイズ以外のファイル構成をコピーする 【シェル逆引き】 リストファイルを読み込んでループ処理 コマンド結果を渡してループ処理 標準出力とエラー出力を全て表示しない シェルでFTP実行 区切り文字で区切って表示する 標準出力とログに同時に出力 ファイル名などに日付を入れる 複数行のコメントアウト xargsの利点 ファイルを0バイトクリアする
https://w.atwiki.jp/ce00582/pages/5474.html
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; class insert { Connection dbx; Statement stx; String sqx; ResultSet rsx; String str; int season,number; double rate; String title,actor; void makedata(String tab,String message){ String url = ""; String usr = ""; String pwd = ""; try { Class.forName("com.mysql.jdbc.Driver").newInstance(); dbx = DriverManager.getConnection("jdbc mysql //10.1.72.31 50133/ren8", "gwjdwYJu", "ffXNEuse"); } catch (Exception ex) { ex.printStackTrace();} try { sqx="insert into "+tab+" values"+message; stx = dbx.createStatement(); stx.executeUpdate(sqx); stx.close(); } catch (Exception ex) { ex.printStackTrace();} } }
https://w.atwiki.jp/atyou/pages/54.html
Oracleは Oracle JDBC OCI Driver Oracle JDBC Thin Driver の2種類のJDBCドライバを提供しています。 どちらのドライバを使用する場合でも、Oracleのインストールディレクトリの「jdbc/lib」にある「classes111.zip」か「classes12.zip」(前者はJDK1.1用。後者はJava2用)をクラスパスに含める必要があります。 (Oracle 9iではThinドライバとOCIドライバでファイルが分かれていますので、それぞれ必要なものをクラスパスに含めてください。) 1.Oracle JDBC OCI Driver 「Oracle JDBC OCI Driver」は「Oracle Call Interface(OCI)」を使用してOracleデータベースに接続します。このため実行時にOCIのライブラリ(インストールディレクトリの「lib」以下)が必要で、実質的にOracle Clientがインストールされているマシンでしか使用することができません。実行時にはライブラリのあるディレクトリを、「java.library.path」という環境変数か、Linuxの場合は「LD_LIBRARY_PATH」環境変数に設定する必要があります。 Oracleデータベースへの接続方法はPostgreSQLでの方法とほぼ同じです。まず最初にJDBCドライバをロードします。 Class.forName("oracle.jdbc.driver.OracleDriver"); 次に接続するデータベースを指定します。 Connection connection=DriverManager.getConnection("jdbc oracle oci8 @oracle.techscore","scott","tiger"); 引数の1つ目はデータベースのURL、2つ目がユーザ名、3つ目がパスワードです。データベースのURLはOCI Driverの場合 jdbc oracle oci8 @(tnsnames.oraに登録されているデータベースサービス名) になります。予め「tnsnames.ora」設定ファイルにデータベースが登録されている必要があります。 2.Oracle JDBC Thin Driver 「Thin Driver」はクライアントライブラリを使用せず、Net8プロトコルを用いて直接Oracleデータベースに接続するタイプのJDBCドライバです。クラスライブラリだけで動作する事ができるので、Oracle Clientがインストールされていないマシンでも動作させる事が可能です。。 Oracleデータベースへの接続方法は、「OCI Driver」とほぼ同じです。 Class.forName("oracle.jdbc.driver.OracleDriver"); Connection connection=DriverManager.getConnection("jdbc oracle thin @dbserver 1521 oracle","scott","tiger"); 「getConnection」の第1引数の形式だけが異なります。 jdbc oracle thin @(ホスト名) (ポート番号) (接続するデータベースのSID) 「OCI Driver」はJDBCタイプ2、「Thin Driver」はJDBCタイプ4のドライバです。 したがって通常は「Thin Driver」の方が使い勝手が良いのですが、機能によっては「OCI Driver」にしかサポートされていないものもあります。使い勝手が良いのは「Thin Driver」、高機能なのは「OCI Driver」といったところでしょうか。 場合によって使い分ける必要があります。 http //www.techscore.com/tech/J2EE/JDBC/oracle-1.html
https://w.atwiki.jp/reportdesigner/pages/103.html
Q.RD Serverで利用するJDBCサービスを登録時、データベース(SQLServerやOracle等)の バージョンにより指定する「Driver Class Nmame」や「URL」がデフォルト表示される 文字列と異なる場合があります。 A.代表的なデータベース(SQLServer・Oracle)においての指定方法を紹介いたします。 ◯SQL Server 2005・2008 Driver Class Name com.micrisoft.sqlserver.jdbc.SQLServerDriver URL jdbc sqlserver //dbserverip port;databasename=database ※テストJDBCドライバ名:sqljdbc4.jar ◯Oracle 10g・11g Driver Class Name oracle.jdbc.driver.OracleDriver URL jdbc oracle thin @[dbserverip] [port] [接続DBのSID] ※テストJDBCドライバ名:ojdbc6.jar, ojdbc14.jar
https://w.atwiki.jp/dragon109/pages/36.html
JDBCドライバの取得(MySQL用) ※2009.03.01時点でのバージョンは5.1.7 以下の順でダウンロードする。 ここにアクセス http //dev.mysql.com/downloads/ Drivers and ConnectorsのMySQL Connector/J — for connecting to MySQL from Javaの「MySQL Connector/J 5.1」 Source and Binaries (zip)の「Pick a mirror」 New Usersの「Proceed」 画面下部の「No thanks, just take me to the downloads!」 好きなミラーサイトの「HTTP」 適当な場所にダウンロード インストール ダウンロードしたファイルを解凍(mysql-connector-java-5.1.7.zip) 解凍したフォルダ内のmysql-connector-java-5.1.7-bin.jarをTomcatをインストールしたフォルダ\common\lib\にコピーする。 JDBCドライバのロード MySQLの場合は次のように行う。 try { Class.forName("com.mysql.jdbc.Driver").newInstance(); }catch (ClassNotFoundException e){ }catch (Exception e){ } URL http //localhost 8080/database/databasetest アプリケーション配置場所 c \servlet-sample\database\ web.xmlファイル c \servlet-sample\database\WEB-INF\web.xml コンテキストファイル C \Program Files\Apache Software Foundation\Tomcat 5.5\conf\Catalina\localhost\database.xml データベースへの接続と切断 データベースへの接続を確立するには「DriverManager」クラスで用意されている"getConnection"メソッドを使う。 引数には接続するデータベースを表すURLと接続用のユーザー名とパスワードを指定する。 MySQLの場合、URLの形式は次のようになる。 jdbc mysql //(サーバ名)/(データベース名) 例えばローカルホストにある「jdbctestdb」というデータベースに接続する場合は次のようになる。 jdbc mysql //localhost/jdbctestdb 実際の使用例 Connection conn = null; String url = "jdbc mysql //localhost/jdbctestdb"; String user = "testuser"; String password = "testpass"; try{ conn = DriverManager.getConnection(url, user, password); // データベースに対する処理 }catch (SQLException e){ } データベースの切断 いったん接続した後に切断する場合には、接続の際に取得したConnectionインターフェースのオブジェクトに対して、"close"メソッドを使う。 "close"メソッドは何か問題が発生した際に忘れずに行うためにも、次のように"finally"節を使って記述する。 Connection conn = null; String url = "jdbc mysql //localhost/jdbctestdb"; String user = "testuser"; String password = "testpass"; try{ conn = DriverManager.getConnection(url, user, password); // データベースに対する処理 }catch (SQLException e){ // 例外処理 }finally{ try{ if (conn != null){ conn.close(); } }catch (SQLException e){ // 例外処理 } } データベースの用意 データベース名は「jdbctestdb」とする。 MySQLへ接続する: mysql -u root -p パスワード応答 データベースを作成する: create database jdbctestdb; テスト用データベースに接続する: use jdbctestdb テーブルを作成する: create table kabukatable(code int, company varchar(32), primary key(code) ); ユーザの追加、権限設定: grant select,insert,update,delete on jdbctestdb.* to testuser @ localhost identified by testpass ; データを追加する: 下記参照 データを確認する: select * from kabukatable; データを追加する ※コマンドプロンプトからINSERTしようとした場合、「ERROR 1366 (HY000) Incorrect string value \x83r\x83b\x83N... for column com pany at row 1」というエラーが発生し追加できない。これはどうやらMySQLインストール時に文字コードをutf-8にしたからの模様。正しい対処かどうかはわからないが、以下のSETコマンドを実行することでINSERTができるようになる。別セッションでSELECTしたりする場合は、毎回このSETを実行しないと文字化けする。 SET character_set_client = sjis; SET character_set_connection = utf8; SET character_set_results = sjis; insert into kabukatable values (3048, ビックカメラ ), (4689, ヤフー ), (4755, RAKUTEN ), (9984, SoftBank ); データベース接続テスト URL http //localhost 8080/database/databasetest1 データの取得(SELECT) ステートメントを作成する Connection」インターフェースで定義されている"createStatement"メソッドを使う。 conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(); 問い合わせの実行 「Statement」インターフェースで用意されている"executeQuery"メソッドを使う。 conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(); String sql = "SELECT * FROM kabukatable"; ResultSet rs = stmt.executeQuery(sql); 結果の取得 カーソルを動かすには「ResultSet」インターフェースで定義されている"next"メソッドを使う。 conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(); String sql = "SELECT * FROM kabukatable"; ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ /* 行からデータを取得 */ int code = rs.getInt("code"); String company = rs.getString("company"); } データ型毎の値取得メソッド一覧(一部) boolean getBoolean(String columnName) byte getByte(String columnName) Date getDate(String columnName) double getDouble(String columnName) int getInt(String columnName) long getLong(String columnName) Timestamp getTimestamp(String columnName) リソースの開放 使わなくなった「ResultSet」オブジェクトは"close"メソッドを使ってリソースを開放する。 また、「Statement」オブジェクトもに"close"メソッドを使ってリソースを開放する。 rs.close(); stmt.close(); URL http //localhost 8080/database/databasetest2 データの更新(UPDATE) 「Statement」インターフェースで用意されている"executeUpdate"メソッドを使う。 conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(); String sql = "update kabukatable set company= 楽天(株) where code = 4755"; int num = stmt.executeUpdate(sql); URL http //localhost 8080/database/databasetest3 データの追加(INSERT) 「Statement」インターフェースで用意されている"executeUpdate"メソッドを使う。 conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(); String sql = "insert into kabukatable (code, company) values (2491, バリューコマース )"; int num = stmt.executeUpdate(sql); データの削除(DELETE) 「Statement」インターフェースで用意されている"executeUpdate"メソッドを使う。 conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(); String sql = "delete from kabukatable where id = 4755"; int num = stmt.executeUpdate(sql); prepareStatementの使用 「Connection」インターフェースで定義されている"prepareStatement"メソッドを使う。 パラメータとして後から指定する部分には、実際の値を記述する替わりに「?」を記述したSQL文を作成し、そのSQLを元にプリペアドステートメントを作成する。 String sql = "insert into kabukatable (code, company) values (?, ?)"; PreparedStatement pstmt = conn.prepareStatement(sql); この例では実際に挿入する値を記述箇所に「?」を使っている。2箇所使っているので、後からパラメータを2つ指定する必要がある。 パラメータへ値の設定 「PreparedStatement」インターフェースで用意されている「setInt」メソッドを使う。 パラメータの数だけメソッドを実行する。パラメータはSQL文中に記述された「?」を先頭から順番に1,2,3、・・・と順番に番号が割り当てられる。1番目のメソッドにはパラメータの番号を指定し、2番目の引数にパラメータに設定したい値を記述する。 String sql = "insert into kabukatable (code, company) values (?, ?)"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setInt(1, 4755); pstmt.setString(2, "楽天(株)"); パラメータに値を設定するには設定する値のデータ型毎に別々のメソッドが用意されてる。(一部) メソッド 説明 void setString(int parameterIndex, String x) String 値に設定します。 void setInt(int parameterIndex, int x) int 値に設定します。 void setLong(int parameterIndex, long x) long 値に設定します。 void setByte(int parameterIndex, byte x) バイト配列に設定します。 void setFloat(int parameterIndex, float x) float 値に設定します。 void setDouble(int parameterIndex, double x) double 値に設定します。 void setDate(int parameterIndex, Date x) java.sql.Date 値に設定します。 void setTime(int parameterIndex, Time x) java.sql.Time 値に設定します。 void setBoolean(int parameterIndex, boolean x) boolean 値に設定します。 void setTimestamp(int parameterIndex, Timestamp x) java.sql.Timestamp 値に設定します。 プリペアドステートメントの実行 「PreparedStatement」インターフェースにはSELECTなどのクエリーの結果を取得する場合に使う「executeQuery」メソッドと、INSERTやUPDATEなどの結果が返されない場合に使う「executeUpdate」メソッドがある。この使い方は「Statement」の場合と同じ。 conn = DriverManager.getConnection(url, user, password); String sql = "insert into kabukatable (code, company) values (?, ?)"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setInt(1, 4755); pstmt.setString(2, "楽天(株)"); int num = pstmt.executeUpdate(); パラメータのクリア プリペアドステートメントを複数回続けて実行する場合、値が変更されないパラメータについては改めて設定する必要はない。 次の例では1番目のパラメータは変更が無く、2回目に実行する時には2番目のパラメータだけを設定する。 String sql = "insert into kabukatable (basho, company) values (?, ?)"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setInt(1, "東証"); pstmt.setString(2, "ドコモ"); int num = pstmt.executeUpdate(); pstmt.setString(2, "KDDI"); num = pstmt.executeUpdate(); 現在設定されているパラメータを全て一度クリアしたい場合には「PreparedStatement」インターフェースで用意されている「clearParameters」メソッドを使う。 URL http //localhost 8080/database/databasetest6